/**
 * \file
 * \date 18.09.2013
 * \author alex
 */
#ifndef bullet_rviz_test_ROBOT_H_
#define bullet_rviz_test_ROBOT_H_

#include <boost/shared_ptr.hpp>
#include <bullet_rviz_test/physical_object.h>

// Bullet type forward declarations:
class btCollisionShape;
class btMotionState;
class btRigidBody;

namespace bullet_rviz_test
{

class Robot : public PhysicalObject
{
public:
  Robot();
  ~Robot();

  virtual btRigidBody * getRigidBody();

  btVector3 getHalfExtents();

private:
  Robot(const Robot &);
  Robot & operator=(const Robot &);

  btCollisionShape * collision_shape_;
  btMotionState * motion_state_;
  btRigidBody * rigid_body_;
};

typedef boost::shared_ptr<Robot> RobotPtr;

}

#endif /* bullet_rviz_test_ROBOT_H_ */
